#define _CRT_SECURE_NO_WARNINGS 1






//https://www.luogu.com.cn/problem/P1194


//#include<iostream>
//#include<algorithm>
//
//using namespace std;
//
//const int N = 500 * 500 + 10;
//
//int pos;
//int a, n;
//int ret, cnt;
//struct node
//{
//	int x, y, z;
//}e[N];
//
//int fa[N];
//
//int find(int x)
//{
//	return x == fa[x] ? x : fa[x] = find(fa[x]);
//}
//
//
//bool cmp(node& a, node& b)
//{
//	return a.z < b.z;
//}
//
//void kk()
//{
//	sort(e + 1, e + 1 + pos, cmp);
//	
//	for (int i = 1;i <= pos;i++)
//	{
//		int x = e[i].x;
//		int y = e[i].y;
//		int z = e[i].z;
//		int fx = find(x);
//		int fy = find(y);
//		if (fx != fy)
//		{
//			cnt++;
//			ret += z;
//			fa[fx] = fy;
//		}
//	}
//}
//
//int main()
//{
//	cin >> a >> n;
//
//	for (int i = 1;i <= n;i++)
//	{
//		for (int j = 1;j <= n;j++)
//		{
//			int k;
//			cin >> k;
//			if (i >= j || k == 0 || k > a)
//				continue;
//			pos++;
//			e[pos].x = i;
//			e[pos].y = j;
//			e[pos].z = k;
//		}
//	}
//
//	for (int i = 1;i <= n;i++)
//		fa[i] = i;
//
//	kk();
//	cout << ret + (n - cnt) * a;
//
//	return 0;
//}



